Wang Haihua
🍈 🍉🍊 🍋 🍌
积分遵循几个非常重要的性质.
首先是积分的求和法则。
考虑两个函数$f(x)$和$g(x)$,它们和的积分等于它们的积分的和:
$$ \displaystyle\int_a^b (f(x) + g(x))dx = \displaystyle\int_a^b f(x) dx + \displaystyle\int_a^b g(x) dx $$此外,常数$c$可以从积分中“取出”:
$$ \displaystyle\int_a^b (c \cdot f(x))dx = c \displaystyle\int_a^b f(x) dx $$我们也有一个关于不同边界点积分的简单规则。对于三个点$a < b < c$。函数$f(x)$在$a$和$c$之间的积分可以分解为两个积分:
$$ \displaystyle\int_a^c f(x) dx = \displaystyle\int_a^b f(x) dx + \displaystyle\int_b^c f(x) dx $$这个属性在下面的图中显示出来: 同样,根据定义,从$b$和$a$之间的积分,其中$b > a$ 等于从$a$到$b$积分的相反数:
$$ \displaystyle\int_b^a f(x) dx = -\displaystyle\int_a^b f(x) dx $$最后,考虑一个函数$f_{-}(x)$,它只假定负数。$f_{-}(x)$的积分等于$f(x)$与$x$-轴之间形状下面积的负数:
$$ \displaystyle\int_b^a f_{-}(x) dx = -1 \times \text{曲线下方阴影部分面积} $$因此,积分可以同时设正值和负值。如果负的部分和正的部分面积相同,积分也可以等于零。一个例子是
$$ \displaystyle\int_{-\pi}^{\pi} \sin(x) dx = 0 $$如下图所示:
现在我们知道了如何定义积分,我们可以试着计算一些简单函数下的面积。仅仅通过定义来求解积分是相当具有挑战性的。然而,也非常有意义。之后我们会学习一些强大的积分求解工具,这会让求解更简单。 考虑以下积分:
$$ \displaystyle\int_0^b x^2 dx $$根据积分的定义,我们有 $$ \displaystyle\int_0^b x^2 dx = \displaystyle\lim_{N \rightarrow \infty} \displaystyle\sum^{N-1}_{n=0} x_n^2 \Delta x $$
这里每个小长方形的宽度为
$$ \Delta x = \dfrac{b - 0}{N} = \dfrac{b}{N} $$第 $n$个矩形最左边的坐标是
$$ x_n = n \Delta x = \dfrac{n}{N} b $$利用上述公式,我们重新写积分:
$$ \displaystyle\sum^{N-1}_{n=0} x_n^2 \Delta x = \displaystyle\sum^{N-1}_{n=0} \dfrac{n^2}{N^3} b^3 = \dfrac{b^3}{N^3} \displaystyle\sum^{N-1}_{n=0} n^2 $$接下来再使用一个求前$N$的平方数的和的公式:
$$ \displaystyle\sum^{N-1}_{n=0} n^2 = \dfrac{(N-1)N(2N -1)}{6} $$于是
$$ \displaystyle\sum^{N-1}_{n=0} x_n^2 \Delta x = b^3 \dfrac{(N-1)N(2N -1)}{6 N^3} = b^3 \dfrac{2N^3 -3 N^2 + 6}{6 N^3} $$最后求$N$趋于无穷时的极限:
$$ \displaystyle\int_0^b x^2 dx = \displaystyle\lim_{N \rightarrow \infty} b^3 \dfrac{2N^3 -3 N^2 + 6}{6 N^3}= b^3 \displaystyle\lim_{N \rightarrow \infty} \dfrac{2N^3}{6 N^3} = \dfrac{1}{3} b^3 $$这样我们就求出来了上述的积分值
$$ \displaystyle\int_0^b x^2 dx = \dfrac{1}{3} b^3 $$给定一个函数$g(x)$,我们可以得到一个有限差分$g(x) = g(x + h) - g(x)$。类似地,微分 $d g(x)$,表示$g(x)$的值有一个无限小的差异。
更准确地说,微分是一种通过产生有限差分来对函数积分的对象。例如,在前面的积分定义中,对象$dx$是一个微分,它产生的差值形式为$(x + h) - x$。
更一般地,函数$f(x)$对$dg(x)$的积分定义如下: $$\displaystyle\int_a^b f(x) dg(x) = \displaystyle\lim_{N \rightarrow \infty} \displaystyle\sum^{N-1}_{n=1} f(x_n) \Delta g(x_{n}) = \displaystyle\lim_{N \rightarrow \infty} \displaystyle\sum^{N-1}_{n=1} f(x_n) \left(g(x_{n+1}) - g(x_{n}) \right)$$
设 $c$ 为常数, $f(x)$是函数,则有 $$ d (c f(x)) = c df(x) $$
特别地, 如果 $y(x) = x$, 则:
$$ d f(x) = \dfrac{df}{dx} dx$$我们稍后会看到,这是微积分基本定理的陈述。
关于微分的积分与积分具有相同的性质。
$a < b < c$
$$ \displaystyle\int_a^c g(x) df(x) = \displaystyle\int_a^b g(x) df(x) + \displaystyle\int_b^c g(x) df(x) $$$$ \displaystyle\int_b^a g(x) df(x) = -\displaystyle\int_a^b g(x) df(x) $$import numpy as np
import matplotlib.pyplot as plt
import scipy as sp
import pandas as pd
import scipy.stats
plt.rcParams['font.family']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
%matplotlib inline
求和法则
def plot_area(x_range, f, label = ""):
plt.plot(x_range, f(x_range), label = label)
plt.fill_between(x_range, 0, f(x_range), alpha = 0.25)
plt.title("曲线下方的面积")
a = 0
b = 1
c = 2
x_range1 = np.linspace(a,b,1000)
x_range2 = np.linspace(b,c,1000)
f = lambda x: np.exp(x)
plot_area(x_range1, f, r"$e^{x}$")
plot_area(x_range2, f, r"$e^{x}$")
plt.axvline(a, label="a", ls="--", color="k")
plt.axvline(b, label="b", ls="--", color="k")
plt.axvline(c, label="c", ls="--", color="k")
plt.axhline(0, ls="--", color="k")
plt.legend(loc="best")
plt.savefig('images/cal0901.png')
a = 0
b = 1
x_range1 = np.linspace(a,b,1000)
f = lambda x: -np.exp(x)
plot_area(x_range1, f, "exp(x)")
plt.axvline(a, label="a", ls="--", color="k")
plt.axvline(b, label="b", ls="--", color="k")
plt.axhline(0, ls="--", color="k")
plt.legend(loc="best")
plt.savefig('images/cal0902.png')
a = -np.pi
b = 0
c = np.pi
x_range1 = np.linspace(a,b,1000)
x_range2 = np.linspace(b,c,1000)
f = lambda x: np.sin(x)
plot_area(x_range1, f, "exp(x)")
plot_area(x_range2, f, "exp(x)")
plt.axvline(a, label="a", ls="--", color="k")
plt.axvline(b, label="b", ls="--", color="k")
plt.axvline(c, label="c", ls="--", color="k")
plt.axhline(0, ls="--", color="k")
plt.legend(loc="best")
plt.savefig('images/cal0903.png')
利用极限求积分
def integral(a, b, f, g, N):
x_range = np.linspace(a,b,N)
dx = (b-a)/N
f_values = [f(x) for x in x_range]
dg_values = [g(x + dx) - g(x) for x in x_range]
return sum([fx*dgx for fx, dgx in zip(f_values, dg_values)])
N_range = range(10,2000,10)
plt.plot(N_range, [integral(0,1,lambda x: x**2, lambda x: x, N) for N in N_range])
plt.axhline(1/3., c = "k", ls="--")
plt.xlabel("小矩形的数量")
plt.savefig('images/cal0904.png')